# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Final Fantasy Tactics Ivalice Island Template

game: Final Fantasy Tactics Ivalice Island
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Final Fantasy Tactics Ivalice Island: 0.4.0 # Version of the world required for this yaml to work as expected.

Final Fantasy Tactics Ivalice Island:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ################
  # Main Options #
  ################
  zodiac_stones_in_pool:
    # How many Zodiac Stones will be in the item pool.
    # If set to less than the number required, will instead become however many are required.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 13
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-13: 0 # random value between 1 and 13

  zodiac_stones_required:
    # How many Zodiac Stones will be required to beat the game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 13
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-13: 0 # random value between 1 and 13

  zodiac_stone_locations:
    # Where can Zodiac Stones appear?
    # Vanilla limits their possible locations to those events which had one in the vanilla game.
    # This limits the maximum number of stones in the pool from 8-12, depending on sidequest and Altima options.
    # Note that with fewer stones in the pool, potential Stone locations can have other items.
    # Anywhere Local means stones can be at any location in your world.
    # Anywhere means stones can be anywhere in the multiworld.
    vanilla_stones: 50
    anywhere_local: 0
    anywhere: 0

  final_battles:
    # What the final goal is, located at the Murond Death City world map dot near Deep Dungeon.
    # Vanilla requires the completion of all six final battles in sequence at Murond Death City.
    # Altima Only requires only Altima at Murond Death City, and the other endgame battles will be located at Orbonne.
    vanilla: 50
    altima_only: 0

  sidequest_battles:
    # Are sidequest battles (Colliery, Nelveska, Zarghidas, Deep Dungeon) in the pool of locations?
    'false': 0
    'true': 50

  job_unlocks:
    # Are job unlocks in the item and location pools?
    'false': 0
    'true': 50

  poach_locations:
    # Are poaches in the location pool? WARNING: Can be grindy and RNG-heavy.
    'false': 50
    'true': 0

  rare_battles:
    # Are the rare battles for each battleground in the location pool?
    'false': 50
    'true': 0

  logical_difficulty:
    # Affects the placement of logically required shop levels and jobs in the multiworld.
    easy: 0
    normal: 50
    difficult: 0
    extreme: 0

  ################
  # Item Options #
  ################
  chemist_placement:
    # Where Chemist is placed in the multiworld when Job Unlocks are enabled.
    # Starting will have you start with Chemist.
    # Early will ensure Chemist is one of your first items in the multiworld.
    # Shuffled will shuffle Chemist into the pool like other jobs.
    starting: 0
    early: 50
    shuffled: 0

  early_pass:
    # Will a Pass for a neighboring region be an early item?
    'false': 0
    'true': 50

  starting_shop_level:
    # The starting shop level of your game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 14
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-14: 0 # random value between 0 and 14

  randomize_poach_rewards:
    # Whether Fur Shop awards from poaching should be randomized.
    # Split will make the rare result (12% of the time) always be an item unavailable in shops,
    # while the common result will always be an item available in shops.
    'off': 50
    'on': 0
    split: 0
    weighted: 0
    weighted_split: 0

  ##################
  # Filler Options #
  ##################
  normal_item_weight:
    # Weight of items normally sold in shops in the filler pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  rare_item_weight:
    # Weight of items not normally sold in shops in the filler pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  bonus_gil_item_weight:
    # Weight of bonus items in the filler pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  jp_boon_item_weight:
    # Weight of JP Boon items that award JP to the team in the filler pool
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  bonus_gil_item_size:
    # Adjusts the value of bonus gil items in the pool.
    # Normal is 5000/10000/40000. Frugal halves that, Expensive doubles.
    frugal: 0
    normal: 50
    expensive: 0

  jp_boon_size:
    # Adjusts the value of JP Boon items. Normal is 50/100/250 JP. Frugal halves that, Expensive doubles.
    frugal: 0
    normal: 50
    expensive: 0

  ############################
  # Enemy Randomizer Options #
  ############################
  enemy_randomizer:
    # Randomizes enemies.
    # Disabled leaves enemies as vanilla.
    # Boss Shuffle shuffles only unique story bosses amongst each other.
    # Randomized randommizes all enemies per other settings in this section.
    # Boss Shuffle Randomized combines the above two options: bosses will be shuffled and
    # all other slots will be randomized per other settings.
    disabled: 50
    boss_shuffle: 0
    randomized: 0
    boss_shuffle_randomized: 0

  randomize_gariland:
    # Whether to randomize the Gariland story fight.
    'false': 50
    'true': 0

  cross_enemy_randomizer:
    # If enabled, generic jobs can randomize into special units and vice versa.
    'false': 50
    'true': 0

  cross_species_randomizer:
    # If enabled, randomized humans can become monster units and vice versa.
    'false': 50
    'true': 0

  randomize_story_fights_only:
    # If enabled, only story and sidequest fights will be randomized,
    # and random encounters will be left alone.
    'false': 50
    'true': 0

  enemy_randomizer_locality:
    # Controls the scope of enemy randomization.
    # Battle randomizes enemy units of the same job differently per battle.
    # Region randomizes enemy units of the same job differently per region.
    # Global randomizes all enemy units in the game of the same job to the same randomized job.
    battle: 50
    region: 0
    global: 0

  lucavi_randomizer:
    # Controls if Lucavi and Altima are included in randomization.
    # Disabled leaves Lucavi (Queklain, Velius, Zalera, Adramelk, Hashmalum, Elidibs) the same as vanilla.
    # Lucavi enables those locations and jobs to be included in randomization.
    # Include Altima also includes Altima 1 and 2 in the randomization. Will cause graphical glitches.
    disabled: 50
    lucavi: 0
    include_altima: 0

  enemy_randomizer_method:
    # Controls the randomization method for determining randomized units.
    # Shuffle will attempt to map vanilla units to new unique jobs,
    # such that only Squires will become Chemists, for example.
    # Chaos allows duplicates, such that multiple jobs could become Chemists, for example.
    shuffle: 50
    chaos: 0

  ##########################
  # Move-Find Item Options #
  ##########################
  move_find_item_locations:
    # Will Move-Find Item locations contain multiworld items? WARNING: Will be more annoying than you think.
    'false': 50
    'true': 0

  move_find_item_location_logic:
    # Controls what is needed and used to access MFI locations.
    # Vanilla requires Move-Find Item to be equipped.
    # Chemist Innate makes Move-Find Item innate to Chemists.
    # Player Innate makes Move-Find Item innate to all player units.
    vanilla: 50
    chemist_innate: 0
    player_innate: 0

  randomize_move_find_item_rewards:
    # Should MFI tile rewards be randomized?
    # If Split is chosen, the rare slot (more likely with lower Brave)
    # will always have an item unavailable in shops while the common slot will only have shop items.
    'off': 50
    'on': 0
    split: 0
    weighted: 0
    weighted_split: 0

  ###############
  # QOL Options #
  ###############
  exp_gain_multiplier:
    # Multiplier to in-battle EXP gains.
    normal: 0
    double: 50
    quadruple: 0

  jp_gain_multiplier:
    # Multiplier to in-battle JP gains.
    normal: 0
    double: 50
    quadruple: 0

  vanilla_changes:
    # Controls changes from vanilla.
    # SwordskillUsersSwordOnly locks swordskill users like Orlandu and Beowulf to swords and knightswords.
    #   Most impactful for enemy randomizer.
    # MateriaBladeNotRequired changes Limit to require any sword, not specifically the Materia Blade.
    # RandomMagicHitsIncreased increases the number of hits of Truth, Un-Truth, and Holy Bracelet to ten, like in WotL/TIC.
    # Improved Shops adds in an early katana and spear as well as adding guns to trade cities.
    ['MateriaBladeNotRequired', 'RandomMagicHitsIncreased', 'ImprovedShops']

  ###########################
  # Transmooglifier Options #
  ###########################
  enable_transmooglifier:
    # Enables Transmooglifier, which gives Rad, Alicia, and Lavian new special jobs.
    # Check the Transmooglifier wiki page at https://github.com/Rosalie-A/Archipelago/wiki/FFT-Transmooglifier-Reference
    # for more info.
    'false': 50
    'true': 0

  transmooglifier_options:
    # Which jobs are options for Transmooglifier. If fewer than three, the remainder will be picked at random.
    ['Berserker', 'Red Mage', 'Testudo', 'Hunter', 'Time Master', 'Librarian', 'Dark Magician', 'Vampire Lord', 'Sage']

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
